Comment je publie des posts

Je n’ai pas pris l’habitude d’écrire, pourtant j’étais motivé il y a quelques années, mais avec les cours, j’ai petit à petit perdu l’envie. Aussi je n’ai jamais été très bon écrivain (je dois avoir le niveau collège max).

Format

Mon dernier post date d’il y a 2 (deux) années. Pourtant, c’est simple d’écrire un nouveau truc, j’écris directement dans un fichier texte brut, j’écris au format Markdown qui est convertis par mon site “EWP” (qui est open-source d’ailleurs). J’écris dans VS Code, par habitude, et j’ai l’extension LTeX pour éviter de faire une faute par mot.

Il suffit donc de mettre mon fichier .md dans le bon dossier et c’est directement disponible sur le site. J’ai quelques métadonnées en plus, sous le format YAML en entête du fichier Markdown, qui ressemble à ça :

title: Comment je publie des posts
description: Explication de comment je publie
date: 16-05-2024
tags: [french, workflow]
publish: true

L’URL des posts est dérivée du nom de fichier Markdown.

Rien de fou donc, mon site gère le thème clair/sombre tout seul, les formules \LaTeX sont convertis par \KaTeX1 le code est jolie grâce à HLJS2, même les diagrammes mermaid3 fonctionnent. Ces “extensions” sont ajoutés uniquement si besoin, c’est-à-dire que \KaTeX1 ne va pas se charger s’il n’y a pas de maths dans le post.

Publication

Pour éviter d’écrire directement sur mon serveur, j’utilise unison4 pour synchroniser mes dossiers, par exemple là j’ai ouvert mon VS Code dans le dossier avec tous les posts et je peux faire make site-blog5 pour synchroniser le dossier du blog.

Évidemment pour voir le rendu avant de faire une réelle publication j’ai la variable booléenne publish dans mes métadonnées pour rendre le post disponible, mais répertorié ni dans l’index, ni dans le flux RSS.

Oui d’ailleurs, il y a un flux RSS de disponible, il est généré et mis à jour automatiquement, donc pas de souci à se faire.

Voilà comment est mon workflow 🤓☝️ pour écrire ici, le plus compliqué était de tout coder, et finalement, je n’utilises jamais ce que j’ai écrit.

  1. https://katex.org/ 2

  2. https://highlightjs.org/

  3. https://mermaid.js.org/

  4. https://github.com/bcpierce00/unison

  5. Mon Makefile est disponible ici pour ceux que ça intéresse